package mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_asset_solicitud database table.
 * 
 */
@Entity
@Table(name="tbl_asset_solicitud")
public class TblAssetSolicitud implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveSolicitud;
	private byte bandera;
	private Timestamp fechaAlta;
	private byte status;
	private List<TblAssetSolRespuesta> tblAssetSolRespuestas;
	private TblUsuario tblUsuario;
	private TblCuenta tblCuenta;
	private List<TblTipoCuentaPaquete> tblTipoCuentaPaquetes;

    public TblAssetSolicitud() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_solicitud", unique=true, nullable=false)
	public int getCveSolicitud() {
		return this.cveSolicitud;
	}

	public void setCveSolicitud(int cveSolicitud) {
		this.cveSolicitud = cveSolicitud;
	}


	@Column(nullable=false)
	public byte getBandera() {
		return this.bandera;
	}

	public void setBandera(byte bandera) {
		this.bandera = bandera;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}


	//bi-directional many-to-one association to TblAssetSolRespuesta
	@OneToMany(mappedBy="tblAssetSolicitud")
	public List<TblAssetSolRespuesta> getTblAssetSolRespuestas() {
		return this.tblAssetSolRespuestas;
	}

	public void setTblAssetSolRespuestas(List<TblAssetSolRespuesta> tblAssetSolRespuestas) {
		this.tblAssetSolRespuestas = tblAssetSolRespuestas;
	}
	

	//bi-directional many-to-one association to TblUsuario
    @ManyToOne
	@JoinColumn(name="cve_usuario", nullable=false)
	public TblUsuario getTblUsuario() {
		return this.tblUsuario;
	}

	public void setTblUsuario(TblUsuario tblUsuario) {
		this.tblUsuario = tblUsuario;
	}
	

	//bi-directional many-to-one association to TblCuenta
    @ManyToOne
	@JoinColumn(name="cve_cuenta", nullable=false)
	public TblCuenta getTblCuenta() {
		return this.tblCuenta;
	}

	public void setTblCuenta(TblCuenta tblCuenta) {
		this.tblCuenta = tblCuenta;
	}
	

	//bi-directional many-to-many association to TblTipoCuentaPaquete
    @ManyToMany
	@JoinTable(
		name="tbl_asset_sol_paquete"
		, joinColumns={
			@JoinColumn(name="cve_solicitud", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="cve_tcta_paquete", nullable=false)
			}
		)
	public List<TblTipoCuentaPaquete> getTblTipoCuentaPaquetes() {
		return this.tblTipoCuentaPaquetes;
	}

	public void setTblTipoCuentaPaquetes(List<TblTipoCuentaPaquete> tblTipoCuentaPaquetes) {
		this.tblTipoCuentaPaquetes = tblTipoCuentaPaquetes;
	}
	
}